Color digital cameras are used by a growing number of consumers and professional photographers. These cameras use one or more CCD or CMOS image sensors to determine an estimate of the colors of an original scene, and digitally process these captured color records to produce a color image file.
In order to provide interoperability between cameras and other digital devices, such as a computer, appliance printer, or photo kiosk, a standard image data format must be used. This ensures that the digital device can properly interpret the digital image data provided by the digital camera. Many digital cameras use JPEG image compression, which converts RGB color images into a luminance (Y) and two chrominance (R-Y, B-Y) signals. Next, a discrete cosine transform (DCT) is performed on 8×8 pixel blocks of Y and subsampled R-Y and B-Y signals. The DCT coefficient values are then quantized and entropy coded.
Most current consumer digital cameras produce JPEG images using the Exif version 2.1 image format. The Exif files are named and organized into folders using the DCF version 1.0 standard. DCF requires that the color image be interpreted as sRGB image data in order to ensure interoperability. The sRGB image data is “rendered” color data that can be immediately used by most software applications. The sRGB color data is represented using 24 bits per color, with each of R, G, and B encoded using an 8-bit value from 0 to 255. To produce sRGB color data, the captured camera RGB image signals are transformed, typically using a 3×3 color matrix, to output colors represented using the sRGB color primaries. By limiting the sRGB colors to values between 0 and 255, the gamut of colors that can be encoded in the image file is reduced and limited to those that can be displayed on a typical CRT.
Many digital cameras today are capable of capturing color data that has a wider dynamic range and larger color gamut than sRGB provides. Because the digital images are JPEG compressed using Y, R-Y and B-Y (YCC) component signals, it is possible to encode colors that are outside the sRGB gamut using the Exif image format. Several digital photography formats, including the Kodak Photo CD “PhotoYCC” format, the Epson Print Image Matching (PIM) image format, and the JCIA Exif version 2.2 image format (Exif Print) have recognized that YCC component signals are able to encode some colors having RGB values which are outside the range of 0 to 255, and thus provide an extended color gamut. To produce this extended color gamut, the digital camera must process the captured colors in a way that provides “unclipped” sRGB values which can be converted into the YCC component signals in a way that maintains the extended color gamut.
Unfortunately, the color image processing in current digital cameras does not provide an accurate encoding for colors in the extended color gamut range. Some digital cameras use a single color matrix to convert from gamma corrected scene color values to YCC component values. While this processing produces color values in the extended color gamut range, the resulting color values are not accurate representations of the original scene colors. Other digital cameras use a single color matrix to convert from linear scene color values to linear RGB values represented in terms of the sRGB primaries, followed by gamma correction and a second matrix, which converts from sRGB to YCC values. Since the sRGB signals are clipped to values between 0 and 255 during this processing, the extended color gamut range of the YCC signal is not utilized.
What is needed is a method for producing an extended gamut luminance-chrominance digital image from a captured image that accurately represents the original scene colors corresponding to the extended color gamut range of the YCC signal in a JPEG image file.